/**
 * 炸弹人游戏
 * 规则：安放炸弹，利用炸弹将所有的砖块炸毁和消灭所有的敌人，最终找到胜利之门，则获胜
 * 道具：	1、炸弹道具：每获得一个炸弹道具，人物就可以多放一个炸弹
 * 	   	2、加长道具：每获取一个该道具，炸弹威力提升
 * 	   	3、定时道具：控制炸弹的爆炸事件
 * 		4、穿墙道具：可以穿过围墙
 * 		5、穿弹道具：可以穿过炸弹
 * 操作：	W:向上移动
 * 	   	S:向下移动
 * 	   	A:向左移动
 * 	  	D:向右移动
 * 		J:放炸弹
 * 		K:炸
 *时间：180分钟
 * */

//整个地图数组
var maps;
//当前游戏关卡
var gindex=0;
//当前游戏地图
var map;
//当前界面
var game;
var temp
//定义每个格子的宽高
var iheight;
var iwidth;
//定义游戏界面的宽高
var gheight;
var gwidth;
//定义英雄的坐标
var heroPoint=new Object();
//定义英雄下一个移动位置的坐标
var nextPoint=new Object();
//定义炸弹的坐标
var bombPoint=new Object();
var items
var mark=0
var flag=0;		//是否放炸弹
var bomb_count=0; //炸弹数量
var b=false;

a();
//加载地图 0：边界  1：路  2：石头  3：砖  4：英雄
function InitGame(){
	//alert("loadGame")
	map=maps[gindex]
	temp=""
	items=new Array();
	for(var i = 0; i < map.length; i++) {
		for(var j = 0; j < map[i].length; j++) {
			temp += "<img src='img/"+map[i][j]+".png' id='"+j+i+"' height='"+iheight+"px' width='"+iwidth+"px'/>"
			//记忆英雄所在位置
			if(map[i][j]==4){
				heroPoint.x=j;
				heroPoint.y=i;
			}
			/*//记忆目的地位置
			if(map[i][j]==3){
				var point=new Object();
				point.x=j;
				point.y=i;
				items[items.length]=point;
			}*/
		}
	}
	game.innerHTML = temp;
	
	
}
//初始化地图信息
function InitMap() {
	//alert("InitMap")
	//初始化地图
	maps = [
		[
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0, 4, 1, 1, 2, 1, 1, 1, 2, 3, 3, 1, 2, 3, 1, 3, 2, 3, 3, 1, 2, 0],
			[0, 1, 2, 1, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 0],
			[0, 1, 1, 1, 2, 1, 3, 1, 2, 3, 3, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 0],
			[0, 1, 2, 1, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 3, 0],
			[0, 1, 3, 1, 2, 1, 3, 1, 2, 1, 1, 1, 2, 3, 1, 1, 2, 3, 3, 3, 2, 0],
			[0, 1, 2, 1, 1, 1, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 1, 1, 0],
			[0, 1, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 1, 3, 3, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 3, 3, 1, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		],
		[
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0, 4, 1, 1, 2, 1, 1, 1, 2, 3, 3, 1, 2, 3, 1, 3, 2, 3, 3, 1, 2, 0],
			[0, 1, 2, 3, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 0],
			[0, 3, 1, 1, 2, 1, 3, 1, 2, 3, 3, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 0],
			[0, 3, 2, 3, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 3, 0],
			[0, 3, 3, 1, 2, 3, 3, 1, 2, 1, 1, 1, 2, 3, 1, 1, 2, 3, 3, 3, 2, 0],
			[0, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 1, 1, 0],
			[0, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 1, 3, 3, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 3, 3, 3, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		],
		[
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
			[0, 4, 1, 1, 2, 1, 1, 1, 2, 3, 3, 1, 2, 3, 1, 3, 2, 3, 3, 1, 2, 0],
			[0, 1, 2, 3, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 1, 3, 1, 2, 3, 1, 0],
			[0, 3, 1, 1, 2, 1, 3, 1, 2, 3, 3, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 0],
			[0, 3, 2, 3, 1, 3, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 3, 0],
			[0, 3, 3, 1, 2, 3, 3, 1, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 3, 3, 2, 0],
			[0, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 1, 1, 0],
			[0, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 1, 2, 3, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 1, 3, 3, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 3, 3, 3, 2, 1, 3, 1, 2, 3, 1, 1, 2, 1, 1, 3, 2, 3, 1, 3, 2, 0],
			[0, 1, 2, 3, 1, 3, 2, 3, 1, 1, 2, 3, 1, 3, 2, 1, 3, 1, 2, 1, 1, 0],
			[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
		]
	]
		
	//获取地图div
	game=document.getElementById("game");
	//初始化地图的宽高
	gwidth=parseInt(game.style.width)
	gheight=parseInt(game.style.height)
	//初始化地图的宽高
	iwidth=1100/22
	iheight=700/14
}

//键盘按下，任务行走
function KeyDown(){
	//alert("KeyDown")
	code()
	//移动
	move();
}
//按键松开改变图片
function KeyPress(){
	//alert("KeyPress")
	changeImg(mark)
}
function KeyUp(){
	//alert("KeyUp")
	changeImg(4)
}

//移动
function move(){
	//alert("move")
	//记录下一个位置的值
	var nvalue=map[nextPoint.y][nextPoint.x];
	//记录英雄的id
	var hero=document.getElementById(heroPoint.x+""+heroPoint.y)
	//记录下一个图片的值
	var img=document.getElementById(nextPoint.x+""+nextPoint.y);
	if(nvalue==1){
		if(flag==9){
			//界面更新
			hero.src="img/9.png"
			img.src="img/4.png"
			//地图数组更新
			map[heroPoint.y][heroPoint.x]=9
			map[nextPoint.y][nextPoint.x]=4
			//获取炸弹位置
			bombPoint.x=heroPoint.x
			bombPoint.y=heroPoint.y
			var sid=setInterval("disposeImg()",4000)
			setTimeout(sid,1000)
		}else{
			//界面更新
			hero.src="img/1.png"
			img.src="img/4.png"
			//地图数组更新
			map[heroPoint.y][heroPoint.x]=1
			map[nextPoint.y][nextPoint.x]=4
		}
		//记录英雄位置
		heroPoint.x=nextPoint.x
		heroPoint.y=nextPoint.y
		flag=0;
	}
}

//获取点击的位置
function code(){
	//alert("code")
	var code=window.event.keyCode
	//alert(code)  j:放炸弹  74   k: 炸  75
	switch(code){
		case 87:	//上
			nextPoint.x=heroPoint.x;
			nextPoint.y=heroPoint.y-1;
			mark=7
		break;
		case  83:	//下
			nextPoint.x=heroPoint.x;
			nextPoint.y=heroPoint.y+1;
			mark=4
		break;
		case 65:	//左
			nextPoint.x=heroPoint.x-1;
			nextPoint.y=heroPoint.y;
			mark=5
		break;
		case 68:	//右
			nextPoint.x=heroPoint.x+1;
			nextPoint.y=heroPoint.y;
			mark=6
		break;
		case 74:
			flag=9;
			break;
		default:
			mark=4;
		break;
	}
}

//改变图片
function changeImg(i){
	//alert("changeImg")
	var hero=document.getElementById(heroPoint.x+""+heroPoint.y)
	hero.src="img/"+i+".png"
}
//恢复图片
function reviveImg(){
	//alert("reviveImg")
	var up_img=document.getElementById(bombPoint.x+""+(bombPoint.y-1))
	up_img.src="img/1.png"
	
}
//炸弹爆炸
function disposeImg(){
	//alert("disposeImg")
	//alert(bombPoint.x+""+bombPoint.y)
	var bomb=document.getElementById(bombPoint.x+""+bombPoint.y)
	//炸弹消失
	bomb.src="img/1.png"
	fire();
	//更新地图
	map[bombPoint.y][bombPoint.x]=1
	
}
//火焰
function fire(){
	//alert("fire")
	var bomb=document.getElementById(bombPoint.x+""+bombPoint.y)
	var up=map[bombPoint.y-1][bombPoint.x]
	//alert(up)
	//var down=map[bombPoint.y+1][bombPoint.x]
	//var left=map[bombPoint.y][bombPoint.x-1]
	//var right=map[bombPoint.y][bombPoint.x+1]
	
	
	if(up==1){
		//alert(up)
		var img=document.getElementById(bombPoint.x+""+(bombPoint.y-1))
		img.src="img/11.png"
		var sid=setInterval("reviveImg()",2000)
		setTimeout("clearInterval(sid)",1000)
	}
	/*if(down==1){
		var img=document.getElementById(bombPoint.x+""+(bombPoint.y+1))
		img.src="img/11.png"
		setInterval("reviveImg()",1000)
	}
	if(left==1){
		var up_img=document.getElementById((bombPoint.x-1)+""+bombPoint.y)
		img.src="img/10.png"
		setInterval("reviveImg()",1000)
	}
	if(down==1){
		var up_img=document.getElementById((bombPoint.x+1)+""+bombPoint.y)
		img.src="img/10.png"
		setInterval("reviveImg()",1000)
	}*/
}

//初始化信息
function loadGame(){
	InitMap();
	InitGame();
}
 function a(){
 	alert("1")
 }
